package com.ruoyi.flowable.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 已完成的工作票轨迹对象 endbilltrace
 * 
 * @author ruoyi
 * @date 2022-07-26
 */
public class Endbilltrace extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 活动ID */
    @Excel(name = "活动ID")
    private Long activityId;

    /** 活动序号 */
    @Excel(name = "活动序号")
    private Long activityCode;

    /** 活动名称 */
    @Excel(name = "活动名称")
    private String activityName;

    /** 下一活动序号 */
    @Excel(name = "下一活动序号")
    private String nextActivityCode;

    /** 流程ID */
    @Excel(name = "流程ID")
    private Long flowId;

    /** 流程名称 */
    @Excel(name = "流程名称")
    private String flowName;

    /** 工作ID */
    @Excel(name = "工作ID")
    private Long workId;

    /** 工作名称 */
    @Excel(name = "工作名称")
    private String workName;

    /** 发起人名称(rbac) */
    @Excel(name = "发起人名称(rbac)")
    private String sponsorName;

    /** 工作活动ID */
    @Excel(name = "工作活动ID")
    private Long workActivityId;

    /** 下一活动编码 */
    @Excel(name = "下一活动编码")
    private String nextActivityCodes;

    /** 工作项ID */
    @Excel(name = "工作项ID")
    private Long workItemId;

    /** 接收者名称（rbac） */
    @Excel(name = "接收者名称", readConverterExp = "r=bac")
    private String receiverName;

    /** 签字人（rbac) */
    @Excel(name = "签字人", readConverterExp = "签字人（rbac)")
    private String signName;

    /** 签字时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签字时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signDate;

    /** 主表键值 */
    @Excel(name = "主表键值")
    private String mainBizKey;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDatetime;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishedDatetime;

    /** 工作活动状态 */
    @Excel(name = "工作活动状态")
    private Long workActivityState;

    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workItemDatetime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workCreateDatetime;

    public void setActivityId(Long activityId) 
    {
        this.activityId = activityId;
    }

    public Long getActivityId() 
    {
        return activityId;
    }
    public void setActivityCode(Long activityCode) 
    {
        this.activityCode = activityCode;
    }

    public Long getActivityCode() 
    {
        return activityCode;
    }
    public void setActivityName(String activityName) 
    {
        this.activityName = activityName;
    }

    public String getActivityName() 
    {
        return activityName;
    }
    public void setNextActivityCode(String nextActivityCode) 
    {
        this.nextActivityCode = nextActivityCode;
    }

    public String getNextActivityCode() 
    {
        return nextActivityCode;
    }
    public void setFlowId(Long flowId) 
    {
        this.flowId = flowId;
    }

    public Long getFlowId() 
    {
        return flowId;
    }
    public void setFlowName(String flowName) 
    {
        this.flowName = flowName;
    }

    public String getFlowName() 
    {
        return flowName;
    }
    public void setWorkId(Long workId) 
    {
        this.workId = workId;
    }

    public Long getWorkId() 
    {
        return workId;
    }
    public void setWorkName(String workName) 
    {
        this.workName = workName;
    }

    public String getWorkName() 
    {
        return workName;
    }
    public void setSponsorName(String sponsorName) 
    {
        this.sponsorName = sponsorName;
    }

    public String getSponsorName() 
    {
        return sponsorName;
    }
    public void setWorkActivityId(Long workActivityId) 
    {
        this.workActivityId = workActivityId;
    }

    public Long getWorkActivityId() 
    {
        return workActivityId;
    }
    public void setNextActivityCodes(String nextActivityCodes) 
    {
        this.nextActivityCodes = nextActivityCodes;
    }

    public String getNextActivityCodes() 
    {
        return nextActivityCodes;
    }
    public void setWorkItemId(Long workItemId) 
    {
        this.workItemId = workItemId;
    }

    public Long getWorkItemId() 
    {
        return workItemId;
    }
    public void setReceiverName(String receiverName) 
    {
        this.receiverName = receiverName;
    }

    public String getReceiverName() 
    {
        return receiverName;
    }
    public void setSignName(String signName) 
    {
        this.signName = signName;
    }

    public String getSignName() 
    {
        return signName;
    }
    public void setSignDate(Date signDate) 
    {
        this.signDate = signDate;
    }

    public Date getSignDate() 
    {
        return signDate;
    }
    public void setMainBizKey(String mainBizKey) 
    {
        this.mainBizKey = mainBizKey;
    }

    public String getMainBizKey() 
    {
        return mainBizKey;
    }
    public void setCreateDatetime(Date createDatetime) 
    {
        this.createDatetime = createDatetime;
    }

    public Date getCreateDatetime() 
    {
        return createDatetime;
    }
    public void setFinishedDatetime(Date finishedDatetime) 
    {
        this.finishedDatetime = finishedDatetime;
    }

    public Date getFinishedDatetime() 
    {
        return finishedDatetime;
    }
    public void setWorkActivityState(Long workActivityState) 
    {
        this.workActivityState = workActivityState;
    }

    public Long getWorkActivityState() 
    {
        return workActivityState;
    }
    public void setWorkItemDatetime(Date workItemDatetime) 
    {
        this.workItemDatetime = workItemDatetime;
    }

    public Date getWorkItemDatetime() 
    {
        return workItemDatetime;
    }
    public void setWorkCreateDatetime(Date workCreateDatetime) 
    {
        this.workCreateDatetime = workCreateDatetime;
    }

    public Date getWorkCreateDatetime() 
    {
        return workCreateDatetime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("activityId", getActivityId())
            .append("activityCode", getActivityCode())
            .append("activityName", getActivityName())
            .append("nextActivityCode", getNextActivityCode())
            .append("flowId", getFlowId())
            .append("flowName", getFlowName())
            .append("workId", getWorkId())
            .append("workName", getWorkName())
            .append("sponsorName", getSponsorName())
            .append("workActivityId", getWorkActivityId())
            .append("nextActivityCodes", getNextActivityCodes())
            .append("workItemId", getWorkItemId())
            .append("receiverName", getReceiverName())
            .append("signName", getSignName())
            .append("signDate", getSignDate())
            .append("mainBizKey", getMainBizKey())
            .append("createDatetime", getCreateDatetime())
            .append("finishedDatetime", getFinishedDatetime())
            .append("workActivityState", getWorkActivityState())
            .append("workItemDatetime", getWorkItemDatetime())
            .append("workCreateDatetime", getWorkCreateDatetime())
            .toString();
    }
}
